// 文件路径: com.city.java.files.service.FileUploadService.java
package com.city.java.files.service;

import com.city.java.files.controller.FileUploadController;
import com.city.java.files.controller.AnnouncementFileUploadController;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/**
 * 文件上传服务接口（支持普通图片和公告图片上传）
 */
public interface FileUploadService {
    /**
     * 上传单个图片文件（到 products 目录）
     * @param file 上传的图片文件
     * @return 文件访问URL
     * @throws IOException IO异常
     */
    String uploadImage(MultipartFile file) throws IOException;

    /**
     * 批量上传图片文件（到 products 目录）
     * @param files 上传的图片文件列表
     * @return 文件访问URL列表
     * @throws IOException IO异常
     */
    FileUploadController.ImageUploadResult[] uploadImages(MultipartFile[] files) throws IOException;

    /**
     * 上传单个公告图片文件（到 announcements 目录）
     * @param file 上传的公告图片文件
     * @return 文件访问URL
     * @throws IOException IO异常
     */
    String uploadAnnouncementImage(MultipartFile file) throws IOException;

    /**
     * 批量上传公告图片文件（到 announcements 目录）
     * @param files 上传的公告图片文件列表
     * @return 文件访问URL列表
     * @throws IOException IO异常
     */
    AnnouncementFileUploadController.ImageUploadResult[] uploadAnnouncementImages(MultipartFile[] files) throws IOException;
}
